/**
 * qiniu.js file;
 * company:junqitecch
 * author:xuzuiotao
 * request from the http body throght post method
 */


const qiniu=require('qiniu');
const guid = require('../utils/guid.js');
const consts=global.consts;

qiniu.conf.ACCESS_KEY=consts.Qiniu.ACCESS_KEY;
qiniu.conf.SECRET_KEY=consts.Qiniu.SECRET_KEY;

function uptoken(width_height,file_name){
	const mac = new qiniu.auth.digest.Mac(consts.Qiniu.ACCESS_KEY, consts.Qiniu.SECRET_KEY);
	
	let suffix ='';
	if(file_name){
		let  lastIndex = file_name.lastIndexOf('.');
		if(lastIndex>0) suffix = file_name.substring(lastIndex);
	}
	let key = null;
	key = 'jq_' + guid.generate() + '_' + width_height + suffix;
	const returnBody="{\"key\": $(key), \"hash\": $(etag), \"w\": $(imageInfo.width), \"h\": $(imageInfo.height)}"; 
	const options={
			scope:	consts.Qiniu.BUCKET_NAME, //+(key===null ?'':(''+key)),
			expires:consts.Qiniu.TIMEOUT,
			returnBody:returnBody,
	}
	
	const putpolicy= new qiniu.rs.PutPolicy(options);
	let obj= {};
	obj.uptoken=putpolicy.uploadToken(mac);
	obj.key= key;
	obj.base_url=consts.Qiniu.BASE_URL;
	obj.upload_url=consts.Qiniu.UPLOAD_URL;
	obj.region=consts.Qiniu.REGION;
	
	
	return obj;
}

// 	function jsJustUpload(f, t, k) {
// //		var Qiniu_UploadUrl = "https://up.qbox.me";
// 		var Qiniu_UploadUrl = "https://upload.qbox.me";
// 		var xhr = new XMLHttpRequest();
// 		xhr.open('POST', Qiniu_UploadUrl, true);
// 		var formData = new FormData();
// 		if (key !== null && key !== undefined) {
// 			formData.append('key', k);
// 		}
// 		formData.append('token', t);
// 		formData.append('file', f);
// 		xhr.onreadystatechange = function(response) {
// 			if (xhr.readyState == 4 && xhr.status == 200
// 					&& xhr.responseText != "") {
// 				var blkRet = JSON.parse(xhr.responseText);
// 				var srcImg = "https://file.jqsmm.com/" + blkRet.key;
// 				/*console.log("复制连接直接访问_:" + srcImg);*/

// 				$('.thumbImg').attr('src', srcImg);
// 				$('.thumbBox').css("background","#fff");
// 			} else if (xhr.status != 200 && xhr.responseText) {
// 				concole.log("服务传输异常!!");
// 			}
// 		};
// 		xhr.send(formData);
// 	}




// 	@RequestMapping("uptoken")
// 	@ResponseBody
// 	public String getUptoken(HttpServletRequest request, HttpServletResponse response, String name,
// 			String widthAndHight, ModelMap model) {
// 		String originHeader = request.getHeader("Origin");
// 		response.setHeader("Access-Control-Allow-Origin", originHeader);
// 		response.setHeader("Access-Control-Allow-Credentials", "true");
// //		System.out.println("uptoken方法name:" + name);
// //		System.out.println("uptoken方法model:" + model);
// 		// 获取七牛的uptoken

// 		/**
// 		 * 基本配置-从七牛管理后台拿到，这两个后台获取 设置好账号的ACCESS_KEY和SECRET_KEY
// 		 */
// 		// 要上传的空间名--bucketname 也叫存储空间名，在七年里自己设置的
// 		// 对应要上传到七牛上 你的那个路径（自己建文件夹 注意设置公开）
// 		String bucketname = "jqpay";
// 		// 密钥配置
// //		System.out.println("初始化上传变量");
// 		String upToken = Auth.create(accessKey, secretKey).uploadToken(bucketname);
// //		System.out.println(upToken);

// 		// 默认不指定key的情况下，以文件内容的hash值作为文件名
// 		String suffix = name.substring(name.lastIndexOf("."));
// 		String key = "jq" + UUIDUtils.getUUID() + "_" + widthAndHight + suffix; // 文件名

// 		// 转化为JSON
// 		Map<String, String> map = new HashMap<String, String>();

// 		map.put("upToken", upToken);
// 		map.put("key", key);
// 		JSONObject json = JSONObject.fromObject(map);
// 		String check_return = json.toString();
// //		System.out.println("check_return=" + check_return);

// 		return check_return;
// 	}



module.exports = {
	uptoken: uptoken,

};
